package main
import "fmt"
/*
Stringer 接口
定义在fmt包中，这个接口只包含一个String() string 方法，如果有某个类型实现了这个接口，
那么它就可以定义自己如何被转换成字符串。常用于打印、日志、字符串连接

*/
type Person struct {
	Name string
	Age int
}

func (p Person) String() string {
	return fmt.Sprintf("%v (%v years)",p.Name, p.Age)
}
func main(){
	a := Person{"Arthur Dent", 42}
	z := Person{"Zaphod Beeblebrow", 9801}
	fmt.Println(a, z)//Arthur Dent (42 years) Zaphod Beeblebrow (9801 years)

}